Various electronic devices are enabled to receive and present media streams. Such media streams can be received for example from a Digital Video Broadcasting-Handhelds (DVB-H) network that broadcasts media streams in accordance with the DVB-H standard.
The DVB-H standard is a terrestrial digital transmission standard that enables specifically mobile devices to receive broadcast multimedia data. DVB-H Internet Protocol data casting (IPDC) broadcast uses Real-Time Transport Protocol (RTP) communication protocol. A streaming service is defined as a set of synchronized media streams delivered in a time-constrained or unconstrained manner for immediate consumption during the reception. Each streaming session may comprise audio, video and/or other real-time media data like timed text. Individual RTP media streams are used for each media.
A user receiving media data for a movie by means of a mobile television (TV), for instance, can watch the movie and/or record it to a file. When a user is watching a movie on a mobile TV receiver, he/she may further want to be able to pause the presentation to take a little break and to resume the watching at a later time. To enable such user action, the media data must be recorded at least from the time of the requested pause, and it must be retrieved from the storage when the user wants to resume the watching. Alternatively, a user might have started recording a movie without presenting it simultaneously with any rendering device with the intent of watching the recording later. However, the user may wish to start watching during the broadcast of the movie while the movie is still being recorded.
In contrast to Digital Video Broadcasting-Terrestrial (DVB-T), which uses a self-contained MPEG-2 transport stream containing elementary MPEG-2 video and audio streams according to ISO/IEC International Standard 13818, elementary audio and video bitstreams are encapsulated on RTP, UDP (User Datagram Protocol), IP, and MPE (Multi-Protocol Encapsulation) for IP datacasting over DVB-H. The audio and video compression formats are typically the H.264/AVC (Advanced Video Codec) video format and the MPEG-4 HE-AACv2 (High-Efficiency Advanced Audio Codec Version 2) audio format. H.264/AVC is specified in ITU-T Recommendation H.264 and ISO/IEC International Standard 14496-10:2004: “Information technology—Coding of audio-visual objects—Part 10: Advanced Video Coding”, while MPEG-4 HE-AACv2 is specified in ISO/IEC International Standard 14496-3 (2001): “Information technology—Generic coding of moving picture and associated audio information—Part 3: Audio” including ISO/IEC 14496-3 AMD-1 (2001): “Bandwidth Extension” and ISO/IEC 14496-3 (2001) AMD-2: (2004), “Parametric Coding for High Quality Audio”.
When data in H.264/AVC video format and MPEG-4 HE-AACv2 audio format is to be stored, it is generally stored in a 3 GP file format, also known as 3 GPP (Third Generation Partnership Project) file format, or in a MP4 (MPEG-4) file format. The 3 GP file format is specified in 3 GPP Technical Specification 26.244 V6.4.0 (2005-09): “Technical Specification Group Services and System Aspects; Transparent end-to-end packet switched streaming service (PSS); 3 GPP file format (3 GP)”, while the MP4 file format is specified in ISO/IEC Internal Standard 14496-14:2003: “Information technology—Coding of audio-visual objects—Part 14: MP4 File Format”. Both 3 GP and MP4 are derived from the ISO (International Organization for Standardization) base media file format, which is specified in the ISO/IEC International Standard 14496-12:2005 “Information technology—Coding of audio-visual objects—Part 12: ISO base media file format”. A file of this format comprises media data and metadata. For a file to be operable, both of these data must be present. The media data is stored in a media data box MDAT and the meta data is stored in a movie box MOOV. The media data comprises the actual media samples. It may comprise for example interleaved, time-ordered video and audio frames. Each media has its own metadata box TRAK in the MOOV box that describes the media content properties. Additional boxes in the MOOV box may comprise information about file properties, file content, etc.
Because a 3 GP/MP4 file has separate media data (MDAT) and metadata (MOOV) parts, all media data has to be known at the time when metadata is written to the file. For example, many boxes of a 3 GP/MP4 file, such as a Decoding Time to Sample box STTS, include an entry count of samples to which the box is associated. In general, the entry count can be derived only when the duration of the media tracks and the sample rate are known. This results in a problem when a 3 GP/MP4 file is to be used for recording data upon a pause request by a user. The file format makes it impossible to resume the watching until the recording of the file has ended and both media data and metadata is saved to the file. Such a long pause will usually not be acceptable to the user.